package com.gqz.equip.vo;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.SchemaProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * 能源-盘点/巡视任务设备缺陷表
 */


@Data
@AllArgsConstructor
@NoArgsConstructor
public class EnStockEquipDefectVo implements Serializable {

    @SchemaProperty(name = "主键标识")
    private String id;

    @SchemaProperty(name = "任务编号")
    private String taskNo;

    @SchemaProperty(name = "缺陷设备编码")
    private String equipNo;

    @SchemaProperty(name = "缺陷设备")
    private String equipName;

    @SchemaProperty(name = "设备类型编码")
    private String equipTypeNo;

    @SchemaProperty(name = "设备类型")
    private String equipTypeName;

    @SchemaProperty(name = "缺陷地点")
    private String defectAddress;

    @SchemaProperty(name = "缺陷部位")
    private String defectParts;

    @SchemaProperty(name = "部件名称")
    private String partName;

    @SchemaProperty(name = "缺陷描述")
    private String defectDescription;

    @SchemaProperty(name = "现场是否已处理")
    private String isHandle;

    @SchemaProperty(name = "是否删除")
    private String isDel;

    @SchemaProperty(name = "创建人")
    private String creator;

    @SchemaProperty(name = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "creatTime", format = "yyyy-MM-dd HH:mm:ss")
    private Date creatTime;

    @SchemaProperty(name = "缺陷图片IDS")
    private String defectPictureIds;

    @SchemaProperty(name = "现场图片IDS")
    private String sitePictureIds;

    @SchemaProperty(name = "缺陷状态码 1-创建 2-审核通过（未处理） 3-审核不通过   20-处理中 30-已派单未处理 100-已处理")
    private String defectStatusCode;

    @SchemaProperty(name = "缺陷状态名称 创建 审核通过（未处理） 审核不通过  处理中 已派单未处理  已处理")
    private String defectStatusName;

    @SchemaProperty(name = "隐患类型编码")
    private String dangerTypeNo;

    @SchemaProperty(name = "隐患类型")
    private String dangerTypeName;

    @SchemaProperty(name = "隐患分类编码")
    private String dangerClassNo;

    @SchemaProperty(name = "隐患分类")
    private String dangerClassName;

    @SchemaProperty(name = "隐患性质编码")
    private String dangerNatureNo;

    @SchemaProperty(name = "隐患性质")
    private String dangerNatureName;

    @SchemaProperty(name = "模块ID(0001为盘点, 0002为巡视, 0003为消缺)")
    private String equipDefectModel;

    @SchemaProperty(name = "类型ID(1为缺陷 2为隐患)")
    private String equipDefectType;

    @SchemaProperty(name = "工单名称")
    private String taskName;

    @SchemaProperty(name = "工单来源 （0-机房巡视  1-物资盘点)")
    private String taskSourceNo;

    @SchemaProperty(name = "缺陷名称/隐患名称")
    private String defectName;

    @SchemaProperty(name = "单位名称编码")
    private String unitNo;

    @SchemaProperty(name = "单位名称")
    private String unitName;

    @SchemaProperty(name = "库房名称编码")
    private String kfNo;

    @SchemaProperty(name = "库房名称")
    private String kfName;

    @SchemaProperty(name = "班组名称编码")
    private String teamNo;

    @SchemaProperty(name = "班组名称")
    private String teamName;

    @SchemaProperty(name = "机房名称编码")
    private String jfNo;

    @SchemaProperty(name = "机房名称")
    private String jfName;

    @SchemaProperty(name = "物资类别编码")
    private String materialTypeNo;

    @SchemaProperty(name = "物资类别")
    private String materialTypeName;

    @SchemaProperty(name = "缺陷隐患是否仍存在 (1.存在2.不存在)")
    private String isExit;

    @SchemaProperty(name = "消缺前照片")
    private String beforePictureIds;

    @SchemaProperty(name = "消缺中照片")
    private String inPictureIds;

    @SchemaProperty(name = "消缺后照片")
    private String afterPictureIds;

    @SchemaProperty(name = "处理方法")
    private String dealMethod;

    @SchemaProperty(name = "备注")
    private String remark;

    @SchemaProperty(name = "处理隐患、缺陷工单编号")
    private String handleTaskNo;

    @SchemaProperty(name = "处理隐患、缺陷工单名称")
    private String handleTaskName;

    @SchemaProperty(name = "模块名称(盘点, 巡视, 消缺)")
    private String equipDefectModelName;

    @SchemaProperty(name = "类型ID(缺陷 隐患)")
    private String equipDefectTypeName;

    @SchemaProperty(name = "工单来源 （0-机房巡视  1-物资盘点)")
    private String taskSourceName;

    @SchemaProperty(name = "处理结果")
    private String handleResult;

    @SchemaProperty(name = "未处理原因")
    private String noHandleReason;

    @SchemaProperty(name = "处理隐患、缺陷工单类型(1-盘点 2-巡视 3-消缺)")
    private String handleTaskType;

    @SchemaProperty(name = "到达现场照片")
    private String ddxcPictureIds;

}
